package cn.heyige.backend.dto;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@Schema(description = "占卜记录保存请求")
public class SaveDivinationRecordRequest {
    
    @Schema(description = "占卜ID", example = "div_1704096900012")
    private String id;
    
    @NotBlank(message = "占卜问题不能为空")
    @Size(max = 200, message = "占卜问题不能超过200字符")
    @Schema(description = "占卜问题", example = "今年的事业发展怎么样？")
    private String question;
    
    @NotBlank(message = "卦象名称不能为空")
    @Schema(description = "卦象名称", example = "火天大有")
    private String hexagram;

    @Schema(description = "输入数据")
    private Map<String, Object> inputData;
    
    @Schema(description = "卦象数据")
    private Map<String, Object> hexagramData;
}